﻿using BLL;
using Model;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;

namespace HRP.Private.Departamentos
{
    public partial class Editar : System.Web.UI.Page
    {
        protected void Page_Load(object sender, EventArgs e)
        {
            if (!Page.IsPostBack && Request.QueryString["id"] != null && Session["idclient"] != null && Session["EmpresaActual"] != null)
            {
                int depId = 0;
                Int32.TryParse(Request.QueryString["id"], out depId);
                if (depId > 0)
                {
                    hrp_empresas empresa = (hrp_empresas)Session["EmpresaActual"];
                    hrp_departamentos depActual = Departamento_BLL.Instance.ObterDepartamento((int)Session["idclient"], empresa.id, depId);
                    if (depActual != null)
                    {
                        if (Session["EmpresaActual"] != null)
                        {
                            Session["VistaEmpresaId"] = empresa.id;
                        }
                        nomeTB.Text = depActual.departamento;
                        obsTB.Text = depActual.observacao;
                        formPanel.Visible = true;
                        msgPanel.Visible = false;
                        erroPanel.Visible = false;
                    }
                    else
                    {
                        formPanel.Visible = false;
                        msgPanel.Visible = false;
                        erroPanel.Visible = true;
                    }

                }
            }
            gravarBut.Click += gravarBut_Click;
            Page.PreRender += Page_PreRender;

        }

        void Page_PreRender(object sender, EventArgs e)
        {
            if (Session["EmpresaActual"] != null && Session["VistaEmpresaId"] != null)
            {
                hrp_empresas empresa = (hrp_empresas)Session["EmpresaActual"];
                if (empresa.id != (int)Session["VistaEmpresaId"])//verifica se a empresa foi mudada
                {
                    formPanel.Visible = false;
                    msgPanel.Visible = false;
                    erroPanel.Visible = true;
                }               
            }
        }

        void gravarBut_Click(object sender, EventArgs e)
        {
            if (!Page.IsValid)
                return;

            if (Session["idclient"] != null && Session["userid"]!=null && Request.QueryString["id"]!=null)
            {
                int id_cliente = (int)Session["idclient"];
                string userId = Session["userid"].ToString();
                int depId = 0;
                Int32.TryParse(Request.QueryString["id"], out depId);
                Departamento_BLL.Instance.ActualizarDepartamento(id_cliente,userId,depId,nomeTB.Text.Trim(), obsTB.Text.Trim());
                formPanel.Visible = false;
                msgPanel.Visible = true;
            }        
        }
    }
}